parent
1c9ac62c19
commit
5ec71f8636
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="jnpf.mapper.ClientAccountDetailMapper">
|
||||
|
||||
|
||||
|
||||
</mapper>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,156 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
title="详情"
|
||||
:close-on-click-modal="false"
|
||||
append-to-body
|
||||
:visible.sync="visible"
|
||||
class="JNPF-dialog JNPF-dialog_center"
|
||||
lock-scroll
|
||||
width="600px"
|
||||
>
|
||||
<el-row :gutter="15" class="">
|
||||
<el-form
|
||||
ref="formRef"
|
||||
:model="dataForm"
|
||||
size="small"
|
||||
label-width="100px"
|
||||
label-position="right"
|
||||
>
|
||||
<template v-if="!loading">
|
||||
<el-col :span="8">
|
||||
<jnpf-form-tip-item label="散户" prop="clientId">
|
||||
<p>{{ dataForm.clientId }}</p>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<jnpf-form-tip-item label="变动类型" prop="changeType">
|
||||
<p>{{ dataForm.changeType }}</p>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<jnpf-form-tip-item label="订单编号" prop="orderNumber">
|
||||
<p>{{ dataForm.orderNumber }}</p>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<jnpf-form-tip-item label="金额" prop="amount">
|
||||
<p>{{ dataForm.amount }}</p>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<jnpf-form-tip-item label="账户余额" prop="banlance">
|
||||
<p>{{ dataForm.banlance }}</p>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<jnpf-form-tip-item label="备注" prop="remark">
|
||||
<p>{{ dataForm.remark }}</p>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<jnpf-form-tip-item label="创建时间" prop="creatorTime">
|
||||
<p>{{ dataForm.creatorTime }}</p>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<jnpf-form-tip-item label="创建用户" prop="creatorUserId">
|
||||
<p>{{ dataForm.creatorUserId }}</p>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<jnpf-form-tip-item label="修改时间" prop="lastModifyTime">
|
||||
<p>{{ dataForm.lastModifyTime }}</p>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<jnpf-form-tip-item label="修改用户" prop="lastModifyUserId">
|
||||
<p>{{ dataForm.lastModifyUserId }}</p>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
</template>
|
||||
</el-form>
|
||||
</el-row>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="visible = false"> 取 消</el-button>
|
||||
</span>
|
||||
<Detail v-if="detailVisible" ref="Detail" @close="detailVisible = false" />
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script>
|
||||
import request from "@/utils/request";
|
||||
|
||||
import { getConfigData } from "@/api/onlineDev/visualDev";
|
||||
import jnpf from "@/utils/jnpf";
|
||||
import Detail from "@/views/basic/dynamicModel/list/detail";
|
||||
import { thousandsFormat } from "@/components/Generator/utils/index";
|
||||
export default {
|
||||
components: { Detail },
|
||||
props: [],
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
detailVisible: false,
|
||||
loading: false,
|
||||
|
||||
dataForm: {
|
||||
id: "",
|
||||
clientId: "",
|
||||
changeType: "",
|
||||
orderNumber: "",
|
||||
amount: "",
|
||||
banlance: "",
|
||||
remark: "",
|
||||
creatorTime: "",
|
||||
creatorUserId: "",
|
||||
lastModifyTime: "",
|
||||
lastModifyUserId: "",
|
||||
},
|
||||
changeTypeOptions: [
|
||||
{ fullName: "消费", id: "1" },
|
||||
{ fullName: "充值", id: "2" },
|
||||
{ fullName: "提现", id: "3" },
|
||||
],
|
||||
changeTypeProps: { label: "fullName", value: "id" },
|
||||
};
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
created() {},
|
||||
mounted() {},
|
||||
methods: {
|
||||
toDetail(defaultValue, modelId) {
|
||||
if (!defaultValue) return;
|
||||
getConfigData(modelId).then((res) => {
|
||||
if (!res.data || !res.data.formData) return;
|
||||
let formData = JSON.parse(res.data.formData);
|
||||
formData.popupType = "general";
|
||||
this.detailVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.Detail.init(formData, modelId, defaultValue);
|
||||
});
|
||||
});
|
||||
},
|
||||
dataInfo(dataAll) {
|
||||
let _dataAll = dataAll;
|
||||
this.dataForm = _dataAll;
|
||||
},
|
||||
|
||||
init(id) {
|
||||
this.dataForm.id = id || 0;
|
||||
this.visible = true;
|
||||
this.$nextTick(() => {
|
||||
if (this.dataForm.id) {
|
||||
this.loading = true;
|
||||
request({
|
||||
url: "/api/scm/ClientAccountDetail/detail/" + this.dataForm.id,
|
||||
method: "get",
|
||||
}).then((res) => {
|
||||
this.dataInfo(res.data);
|
||||
this.loading = false;
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,570 @@
|
||||
|
||||
|
||||
|
||||
<template>
|
||||
<el-dialog
|
||||
:title="!dataForm.id ? '新建' : '编辑'"
|
||||
:close-on-click-modal="false"
|
||||
append-to-body
|
||||
:visible.sync="visible"
|
||||
class="JNPF-dialog JNPF-dialog_center"
|
||||
lock-scroll
|
||||
width="600px"
|
||||
>
|
||||
<el-row :gutter="15" class="">
|
||||
<el-form
|
||||
ref="formRef"
|
||||
:model="dataForm"
|
||||
:rules="dataRule"
|
||||
size="small"
|
||||
label-width="100px"
|
||||
label-position="right"
|
||||
>
|
||||
<template v-if="!loading">
|
||||
<!-- 具体表单 -->
|
||||
<el-col :span="8">
|
||||
<jnpf-form-tip-item label="散户" prop="clientId">
|
||||
<JnpfPopupSelect
|
||||
v-model="dataForm.clientId"
|
||||
@change="changeData('clientId', -1)"
|
||||
:rowIndex="null"
|
||||
:formData="dataForm"
|
||||
:templateJson="interfaceRes.clientId"
|
||||
placeholder="请选择"
|
||||
hasPage
|
||||
propsValue="id"
|
||||
popupWidth="800px"
|
||||
popupTitle="选择数据"
|
||||
popupType="dialog"
|
||||
relationField="nick_name"
|
||||
field="clientId"
|
||||
interfaceId="537982260289215173"
|
||||
:pageSize="20"
|
||||
:columnOptions="clientIdcolumnOptions"
|
||||
clearable
|
||||
:style="{ width: '100%' }"
|
||||
>
|
||||
</JnpfPopupSelect>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<jnpf-form-tip-item label="变动类型" prop="changeType">
|
||||
<JnpfSelect
|
||||
v-model="dataForm.changeType"
|
||||
@change="changeData('changeType', -1)"
|
||||
placeholder="请选择"
|
||||
clearable
|
||||
:style="{ width: '100%' }"
|
||||
:options="changeTypeOptions"
|
||||
:props="changeTypeProps"
|
||||
>
|
||||
</JnpfSelect>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<jnpf-form-tip-item label="订单编号" prop="orderNumber">
|
||||
<JnpfInput
|
||||
v-model="dataForm.orderNumber"
|
||||
@change="changeData('orderNumber', -1)"
|
||||
placeholder="请输入"
|
||||
clearable
|
||||
:style="{ width: '100%' }"
|
||||
>
|
||||
</JnpfInput>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<jnpf-form-tip-item label="金额" prop="amount">
|
||||
<JnpfInput
|
||||
v-model="dataForm.amount"
|
||||
@change="changeData('amount', -1)"
|
||||
placeholder="请输入"
|
||||
clearable
|
||||
:style="{ width: '100%' }"
|
||||
>
|
||||
</JnpfInput>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<jnpf-form-tip-item label="账户余额" prop="banlance">
|
||||
<JnpfInput
|
||||
v-model="dataForm.banlance"
|
||||
@change="changeData('banlance', -1)"
|
||||
placeholder="请输入"
|
||||
clearable
|
||||
:style="{ width: '100%' }"
|
||||
>
|
||||
</JnpfInput>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<jnpf-form-tip-item label="备注" prop="remark">
|
||||
<JnpfInput
|
||||
v-model="dataForm.remark"
|
||||
@change="changeData('remark', -1)"
|
||||
placeholder="请输入"
|
||||
clearable
|
||||
:style="{ width: '100%' }"
|
||||
>
|
||||
</JnpfInput>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<jnpf-form-tip-item label="创建时间" prop="creatorTime">
|
||||
<JnpfOpenData
|
||||
v-model="dataForm.creatorTime"
|
||||
@change="changeData('creatorTime', -1)"
|
||||
placeholder="系统自动生成"
|
||||
readonly
|
||||
:style="{ width: '100%' }"
|
||||
type="currTime"
|
||||
>
|
||||
</JnpfOpenData>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<jnpf-form-tip-item label="创建用户" prop="creatorUserId">
|
||||
<JnpfOpenData
|
||||
v-model="dataForm.creatorUserId"
|
||||
@change="changeData('creatorUserId', -1)"
|
||||
placeholder="系统自动生成"
|
||||
readonly
|
||||
:style="{ width: '100%' }"
|
||||
type="currUser"
|
||||
>
|
||||
</JnpfOpenData>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<jnpf-form-tip-item label="修改时间" prop="lastModifyTime">
|
||||
<JnpfInput
|
||||
v-model="dataForm.lastModifyTime"
|
||||
@change="changeData('lastModifyTime', -1)"
|
||||
placeholder="系统自动生成"
|
||||
readonly
|
||||
:style="{ width: '100%' }"
|
||||
>
|
||||
</JnpfInput>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<jnpf-form-tip-item label="修改用户" prop="lastModifyUserId">
|
||||
<JnpfInput
|
||||
v-model="dataForm.lastModifyUserId"
|
||||
@change="changeData('lastModifyUserId', -1)"
|
||||
placeholder="系统自动生成"
|
||||
readonly
|
||||
:style="{ width: '100%' }"
|
||||
>
|
||||
</JnpfInput>
|
||||
</jnpf-form-tip-item>
|
||||
</el-col>
|
||||
<!-- 表单结束 -->
|
||||
</template>
|
||||
</el-form>
|
||||
<SelectDialog
|
||||
v-if="selectDialogVisible"
|
||||
:config="currTableConf"
|
||||
:formData="dataForm"
|
||||
ref="selectDialog"
|
||||
@select="addForSelect"
|
||||
@close="selectDialogVisible = false"
|
||||
/>
|
||||
</el-row>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<div class="upAndDown-button" v-if="dataForm.id">
|
||||
<el-button @click="prev" :disabled="prevDis">
|
||||
{{ "上一条" }}
|
||||
</el-button>
|
||||
<el-button @click="next" :disabled="nextDis">
|
||||
{{ "下一条" }}
|
||||
</el-button>
|
||||
</div>
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="dataFormSubmit(2)"
|
||||
:loading="continueBtnLoading"
|
||||
>
|
||||
{{ !dataForm.id ? "确定并新增" : "确定并继续" }}</el-button
|
||||
>
|
||||
<el-button @click="visible = false"> 取 消</el-button>
|
||||
<el-button type="primary" @click="dataFormSubmit()" :loading="btnLoading">
|
||||
确 定</el-button
|
||||
>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
import request from "@/utils/request";
|
||||
import { mapGetters } from "vuex";
|
||||
import { getDataInterfaceRes } from "@/api/systemData/dataInterface";
|
||||
import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
|
||||
import { getDefaultCurrentValueUserId } from "@/api/permission/user";
|
||||
import { getDefaultCurrentValueDepartmentId } from "@/api/permission/organize";
|
||||
import {
|
||||
getDateDay,
|
||||
getLaterData,
|
||||
getBeforeData,
|
||||
getBeforeTime,
|
||||
getLaterTime,
|
||||
} from "@/components/Generator/utils/index.js";
|
||||
import { thousandsFormat } from "@/components/Generator/utils/index";
|
||||
export default {
|
||||
components: {},
|
||||
props: [],
|
||||
data() {
|
||||
return {
|
||||
dataFormSubmitType: 0,
|
||||
continueBtnLoading: false,
|
||||
index: 0,
|
||||
prevDis: false,
|
||||
nextDis: false,
|
||||
allList: [],
|
||||
visible: false,
|
||||
loading: false,
|
||||
btnLoading: false,
|
||||
formRef: "formRef",
|
||||
setting: {},
|
||||
eventType: "",
|
||||
userBoxVisible: false,
|
||||
selectDialogVisible: false,
|
||||
currTableConf: {},
|
||||
dataValueAll: {},
|
||||
addTableConf: {},
|
||||
//可选范围默认值
|
||||
ableAll: {},
|
||||
tableRows: {},
|
||||
Vmodel: "",
|
||||
currVmodel: "",
|
||||
dataForm: {
|
||||
clientId: undefined,
|
||||
changeType: undefined,
|
||||
orderNumber: undefined,
|
||||
amount: undefined,
|
||||
banlance: undefined,
|
||||
remark: undefined,
|
||||
creatorTime: undefined,
|
||||
creatorUserId: undefined,
|
||||
lastModifyTime: undefined,
|
||||
lastModifyUserId: undefined,
|
||||
},
|
||||
tableRequiredData: {},
|
||||
dataRule: {},
|
||||
clientIdcolumnOptions: [{ label: "名称", value: "nick_name" }],
|
||||
changeTypeOptions: [
|
||||
{ fullName: "消费", id: "1" },
|
||||
{ fullName: "充值", id: "2" },
|
||||
{ fullName: "提现", id: "3" },
|
||||
],
|
||||
changeTypeProps: { label: "fullName", value: "id" },
|
||||
childIndex: -1,
|
||||
isEdit: false,
|
||||
interfaceRes: {
|
||||
clientId: [],
|
||||
changeType: [],
|
||||
orderNumber: [],
|
||||
amount: [],
|
||||
banlance: [],
|
||||
remark: [],
|
||||
creatorTime: [],
|
||||
creatorUserId: [],
|
||||
lastModifyTime: [],
|
||||
lastModifyUserId: [],
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(["userInfo"]),
|
||||
},
|
||||
watch: {},
|
||||
created() {
|
||||
this.dataAll();
|
||||
this.initDefaultData();
|
||||
this.dataValueAll = JSON.parse(JSON.stringify(this.dataForm));
|
||||
},
|
||||
mounted() {},
|
||||
methods: {
|
||||
prev() {
|
||||
this.index--;
|
||||
if (this.index === 0) {
|
||||
this.prevDis = true;
|
||||
}
|
||||
this.nextDis = false;
|
||||
for (let index = 0; index < this.allList.length; index++) {
|
||||
const element = this.allList[index];
|
||||
if (this.index == index) {
|
||||
this.getInfo(element.id);
|
||||
}
|
||||
}
|
||||
},
|
||||
next() {
|
||||
this.index++;
|
||||
if (this.index === this.allList.length - 1) {
|
||||
this.nextDis = true;
|
||||
}
|
||||
this.prevDis = false;
|
||||
for (let index = 0; index < this.allList.length; index++) {
|
||||
const element = this.allList[index];
|
||||
if (this.index == index) {
|
||||
this.getInfo(element.id);
|
||||
}
|
||||
}
|
||||
},
|
||||
getInfo(id) {
|
||||
request({
|
||||
url: "/api/scm/ClientAccountDetail/" + id,
|
||||
method: "get",
|
||||
}).then((res) => {
|
||||
this.dataInfo(res.data);
|
||||
});
|
||||
},
|
||||
goBack() {
|
||||
this.visible = false;
|
||||
this.$emit("refreshDataList", true);
|
||||
},
|
||||
changeData(model, index) {
|
||||
this.isEdit = false;
|
||||
this.childIndex = index;
|
||||
let modelAll = model.split("-");
|
||||
let faceMode = "";
|
||||
for (let i = 0; i < modelAll.length; i++) {
|
||||
faceMode += modelAll[i];
|
||||
}
|
||||
for (let key in this.interfaceRes) {
|
||||
if (key != faceMode) {
|
||||
let faceReList = this.interfaceRes[key];
|
||||
for (let i = 0; i < faceReList.length; i++) {
|
||||
if (faceReList[i].relationField == model) {
|
||||
let options = "get" + key + "Options";
|
||||
if (this[options]) {
|
||||
this[options]();
|
||||
}
|
||||
this.changeData(key, index);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
changeDataFormData(type, data, model, index, defaultValue) {
|
||||
if (!this.isEdit) {
|
||||
if (type == 2) {
|
||||
for (let i = 0; i < this.dataForm[data].length; i++) {
|
||||
if (index == -1) {
|
||||
this.dataForm[data][i][model] = defaultValue;
|
||||
} else if (index == i) {
|
||||
this.dataForm[data][i][model] = defaultValue;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.dataForm[data] = defaultValue;
|
||||
}
|
||||
}
|
||||
},
|
||||
dataAll() {},
|
||||
clearData() {
|
||||
this.dataForm = JSON.parse(JSON.stringify(this.dataValueAll));
|
||||
},
|
||||
init(id, isDetail, allList) {
|
||||
this.prevDis = false;
|
||||
this.nextDis = false;
|
||||
this.allList = allList || [];
|
||||
if (allList.length) {
|
||||
this.index = this.allList.findIndex((item) => item.id === id);
|
||||
if (this.index == 0) {
|
||||
this.prevDis = true;
|
||||
}
|
||||
if (this.index == this.allList.length - 1) {
|
||||
this.nextDis = true;
|
||||
}
|
||||
} else {
|
||||
this.prevDis = true;
|
||||
this.nextDis = true;
|
||||
}
|
||||
this.dataForm.id = id || 0;
|
||||
this.visible = true;
|
||||
this.$nextTick(() => {
|
||||
if (this.dataForm.id) {
|
||||
this.loading = true;
|
||||
request({
|
||||
url: "/api/scm/ClientAccountDetail/" + this.dataForm.id,
|
||||
method: "get",
|
||||
}).then((res) => {
|
||||
this.dataInfo(res.data);
|
||||
this.loading = false;
|
||||
});
|
||||
} else {
|
||||
this.clearData();
|
||||
this.initDefaultData();
|
||||
}
|
||||
});
|
||||
this.$store.commit("generator/UPDATE_RELATION_DATA", {});
|
||||
},
|
||||
//初始化默认数据
|
||||
initDefaultData() {},
|
||||
// 表单提交
|
||||
dataFormSubmit(type) {
|
||||
this.dataFormSubmitType = type ? type : 0;
|
||||
this.$refs["formRef"].validate((valid) => {
|
||||
if (valid) {
|
||||
this.request();
|
||||
}
|
||||
});
|
||||
},
|
||||
request() {
|
||||
let _data = this.dataList();
|
||||
if (this.dataFormSubmitType == 2) {
|
||||
this.continueBtnLoading = true;
|
||||
} else {
|
||||
this.btnLoading = true;
|
||||
}
|
||||
if (!this.dataForm.id) {
|
||||
request({
|
||||
url: "/api/scm/ClientAccountDetail",
|
||||
method: "post",
|
||||
data: _data,
|
||||
})
|
||||
.then((res) => {
|
||||
this.$message({
|
||||
message: res.msg,
|
||||
type: "success",
|
||||
duration: 1000,
|
||||
onClose: () => {
|
||||
if (this.dataFormSubmitType == 2) {
|
||||
this.$nextTick(() => {
|
||||
this.clearData();
|
||||
this.initDefaultData();
|
||||
});
|
||||
this.continueBtnLoading = false;
|
||||
return;
|
||||
}
|
||||
this.visible = false;
|
||||
this.btnLoading = false;
|
||||
this.$emit("refresh", true);
|
||||
},
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
this.btnLoading = false;
|
||||
this.continueBtnLoading = false;
|
||||
});
|
||||
} else {
|
||||
request({
|
||||
url: "/api/scm/ClientAccountDetail/" + this.dataForm.id,
|
||||
method: "PUT",
|
||||
data: _data,
|
||||
})
|
||||
.then((res) => {
|
||||
this.$message({
|
||||
message: res.msg,
|
||||
type: "success",
|
||||
duration: 1000,
|
||||
onClose: () => {
|
||||
if (this.dataFormSubmitType == 2)
|
||||
return (this.continueBtnLoading = false);
|
||||
this.visible = false;
|
||||
this.btnLoading = false;
|
||||
this.$emit("refresh", true);
|
||||
},
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
this.btnLoading = false;
|
||||
this.continueBtnLoading = false;
|
||||
});
|
||||
}
|
||||
},
|
||||
openSelectDialog(key) {
|
||||
this.currTableConf = this.addTableConf[key];
|
||||
this.currVmodel = key;
|
||||
this.selectDialogVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.selectDialog.init();
|
||||
});
|
||||
},
|
||||
addForSelect(data) {
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
let t = data[i];
|
||||
if (this["get" + this.currVmodel]) {
|
||||
this["get" + this.currVmodel](t);
|
||||
}
|
||||
}
|
||||
},
|
||||
dateTime(timeRule, timeType, timeTarget, timeValueData, dataValue) {
|
||||
let timeDataValue = null;
|
||||
let timeValue = Number(timeValueData);
|
||||
if (timeRule) {
|
||||
if (timeType == 1) {
|
||||
timeDataValue = timeValue;
|
||||
} else if (timeType == 2) {
|
||||
timeDataValue = dataValue;
|
||||
} else if (timeType == 3) {
|
||||
timeDataValue = new Date().getTime();
|
||||
} else if (timeType == 4) {
|
||||
let previousDate = "";
|
||||
if (timeTarget == 1 || timeTarget == 2) {
|
||||
previousDate = getDateDay(timeTarget, timeType, timeValue);
|
||||
timeDataValue = new Date(previousDate).getTime();
|
||||
} else if (timeTarget == 3) {
|
||||
previousDate = getBeforeData(timeValue);
|
||||
timeDataValue = new Date(previousDate).getTime();
|
||||
} else {
|
||||
timeDataValue = getBeforeTime(timeTarget, timeValue).getTime();
|
||||
}
|
||||
} else if (timeType == 5) {
|
||||
let previousDate = "";
|
||||
if (timeTarget == 1 || timeTarget == 2) {
|
||||
previousDate = getDateDay(timeTarget, timeType, timeValue);
|
||||
timeDataValue = new Date(previousDate).getTime();
|
||||
} else if (timeTarget == 3) {
|
||||
previousDate = getLaterData(timeValue);
|
||||
timeDataValue = new Date(previousDate).getTime();
|
||||
} else {
|
||||
timeDataValue = getLaterTime(timeTarget, timeValue).getTime();
|
||||
}
|
||||
}
|
||||
}
|
||||
return timeDataValue;
|
||||
},
|
||||
time(timeRule, timeType, timeTarget, timeValue, formatType, dataValue) {
|
||||
let format = formatType == "HH:mm" ? "HH:mm:00" : formatType;
|
||||
let timeDataValue = null;
|
||||
if (timeRule) {
|
||||
if (timeType == 1) {
|
||||
timeDataValue = timeValue || "00:00:00";
|
||||
if (timeDataValue.split(":").length == 3) {
|
||||
timeDataValue = timeDataValue;
|
||||
} else {
|
||||
timeDataValue = timeDataValue + ":00";
|
||||
}
|
||||
} else if (timeType == 2) {
|
||||
timeDataValue = dataValue;
|
||||
} else if (timeType == 3) {
|
||||
timeDataValue = this.jnpf.toDate(new Date(), format);
|
||||
} else if (timeType == 4) {
|
||||
let previousDate = "";
|
||||
previousDate = getBeforeTime(timeTarget, timeValue);
|
||||
timeDataValue = this.jnpf.toDate(previousDate, format);
|
||||
} else if (timeType == 5) {
|
||||
let previousDate = "";
|
||||
previousDate = getLaterTime(timeTarget, timeValue);
|
||||
timeDataValue = this.jnpf.toDate(previousDate, format);
|
||||
}
|
||||
}
|
||||
return timeDataValue;
|
||||
},
|
||||
dataList() {
|
||||
var _data = this.dataForm;
|
||||
return _data;
|
||||
},
|
||||
dataInfo(dataAll) {
|
||||
let _dataAll = dataAll;
|
||||
this.dataForm = _dataAll;
|
||||
this.isEdit = true;
|
||||
this.dataAll();
|
||||
this.childIndex = -1;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,180 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
title="选择商品"
|
||||
:close-on-click-modal="false"
|
||||
:visible.sync="visible"
|
||||
class="JNPF-dialog JNPF-dialog_center"
|
||||
lock-scroll
|
||||
append-to-body
|
||||
width="800px"
|
||||
>
|
||||
<el-row class="JNPF-common-search-box" :gutter="16">
|
||||
<el-form @submit.native.prevent>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="关键词">
|
||||
<el-input
|
||||
v-model="keyword"
|
||||
placeholder="请输入关键词查询"
|
||||
clearable
|
||||
@keyup.enter.native="search()"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="search()"
|
||||
>{{ $t("common.search") }}
|
||||
</el-button>
|
||||
<el-button icon="el-icon-refresh-right" @click="refresh()"
|
||||
>{{ $t("common.reset") }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
<div class="JNPF-common-search-box-right">
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$t('common.refresh')"
|
||||
placement="top"
|
||||
>
|
||||
<el-link
|
||||
icon="icon-ym icon-ym-Refresh JNPF-common-head-icon"
|
||||
:underline="false"
|
||||
@click="search()"
|
||||
/>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</el-row>
|
||||
<JNPF-table
|
||||
v-loading="listLoading"
|
||||
:data="list"
|
||||
hasC
|
||||
@selection-change="handleSelectionChange"
|
||||
:border="false"
|
||||
>
|
||||
<el-table-column prop="name" label="小区名" align="left">
|
||||
</el-table-column>
|
||||
<el-table-column prop="address" label="小区详细地址" align="left">
|
||||
</el-table-column>
|
||||
<el-table-column prop="longitude" label="经度" align="left">
|
||||
</el-table-column>
|
||||
<el-table-column prop="latitude" label="纬度" align="left">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="hasSchedule"
|
||||
label="是否是定时定点回收"
|
||||
align="left"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column prop="recycleAddress" label="定点回收地址" align="left">
|
||||
</el-table-column>
|
||||
</JNPF-table>
|
||||
<pagination
|
||||
:total="total"
|
||||
:page.sync="listQuery.currentPage"
|
||||
:limit.sync="listQuery.pageSize"
|
||||
@pagination="init"
|
||||
/>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="visible = false">{{
|
||||
$t("common.cancelButton")
|
||||
}}</el-button>
|
||||
<el-button type="primary" @click="select()">{{
|
||||
$t("common.confirmButton")
|
||||
}}</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import request from "@/utils/request";
|
||||
import { GoodsList } from "@/api/extend/order";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
listLoading: true,
|
||||
keyword: "",
|
||||
list: [],
|
||||
total: 0,
|
||||
listQuery: {
|
||||
superQueryJson: "",
|
||||
currentPage: 1,
|
||||
pageSize: 20,
|
||||
sort: "desc",
|
||||
sidx: "",
|
||||
},
|
||||
excludeIdList: [],
|
||||
checked: [],
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
init(excludeIdList) {
|
||||
this.visible = true;
|
||||
this.listLoading = true;
|
||||
if (excludeIdList) {
|
||||
this.excludeIdList = excludeIdList;
|
||||
}
|
||||
let query = {
|
||||
...this.listQuery,
|
||||
keyword: this.keyword,
|
||||
excludeIdList: this.excludeIdList,
|
||||
dataType: 0,
|
||||
};
|
||||
/* GoodsList(query).then(res => {
|
||||
this.list = res.data.list
|
||||
this.listLoading = false
|
||||
}) */
|
||||
request({
|
||||
url: `/api/scm/HousingEstate/getList`,
|
||||
method: "post",
|
||||
data: query,
|
||||
}).then((res) => {
|
||||
this.list = res.data.list;
|
||||
this.listLoading = false;
|
||||
this.total = res.data.pagination.total;
|
||||
});
|
||||
},
|
||||
refresh() {
|
||||
this.keyword = "";
|
||||
this.listQuery.currentPage = 1;
|
||||
this.listQuery.pageSize = 20;
|
||||
this.listQuery.sort = "desc";
|
||||
this.listQuery.sidx = "";
|
||||
this.init();
|
||||
},
|
||||
search() {
|
||||
this.listQuery.currentPage = 1;
|
||||
this.listQuery.pageSize = 20;
|
||||
this.listQuery.sort = "desc";
|
||||
this.listQuery.sidx = "";
|
||||
this.init();
|
||||
},
|
||||
select() {
|
||||
if (!this.checked.length) return;
|
||||
this.visible = false;
|
||||
this.$emit("refreshDataList", this.checked);
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.checked = val;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
>>> .el-dialog__body {
|
||||
height: 70vh;
|
||||
padding: 0 0 10px !important;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
|
||||
.JNPF-common-search-box {
|
||||
margin-bottom: 0;
|
||||
|
||||
.JNPF-common-search-box-right {
|
||||
padding: 10px 10px 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,170 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
title="选择商品"
|
||||
:close-on-click-modal="false"
|
||||
:visible.sync="visible"
|
||||
class="JNPF-dialog JNPF-dialog_center"
|
||||
lock-scroll
|
||||
append-to-body
|
||||
width="800px"
|
||||
>
|
||||
<el-row class="JNPF-common-search-box" :gutter="16">
|
||||
<el-form @submit.native.prevent>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="关键词">
|
||||
<el-input
|
||||
v-model="keyword"
|
||||
placeholder="请输入关键词查询"
|
||||
clearable
|
||||
@keyup.enter.native="search()"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="search()"
|
||||
>{{ $t("common.search") }}
|
||||
</el-button>
|
||||
<el-button icon="el-icon-refresh-right" @click="refresh()"
|
||||
>{{ $t("common.reset") }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
<div class="JNPF-common-search-box-right">
|
||||
<el-tooltip
|
||||
effect="dark"
|
||||
:content="$t('common.refresh')"
|
||||
placement="top"
|
||||
>
|
||||
<el-link
|
||||
icon="icon-ym icon-ym-Refresh JNPF-common-head-icon"
|
||||
:underline="false"
|
||||
@click="search()"
|
||||
/>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</el-row>
|
||||
<JNPF-table
|
||||
v-loading="listLoading"
|
||||
:data="list"
|
||||
hasC
|
||||
@selection-change="handleSelectionChange"
|
||||
:border="false"
|
||||
>
|
||||
<el-table-column prop="name" label="名称" align="left"> </el-table-column>
|
||||
<el-table-column prop="code" label="编码" align="left"> </el-table-column>
|
||||
<el-table-column prop="spec" label="规格" align="left"> </el-table-column>
|
||||
<el-table-column prop="unit" label="单位" align="left"> </el-table-column>
|
||||
<el-table-column prop="description" label="描述" align="left">
|
||||
</el-table-column>
|
||||
</JNPF-table>
|
||||
<pagination
|
||||
:total="total"
|
||||
:page.sync="listQuery.currentPage"
|
||||
:limit.sync="listQuery.pageSize"
|
||||
@pagination="init"
|
||||
/>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="visible = false">{{
|
||||
$t("common.cancelButton")
|
||||
}}</el-button>
|
||||
<el-button type="primary" @click="select()">{{
|
||||
$t("common.confirmButton")
|
||||
}}</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import request from "@/utils/request";
|
||||
import { GoodsList } from "@/api/extend/order";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
listLoading: true,
|
||||
keyword: "",
|
||||
list: [],
|
||||
total: 0,
|
||||
listQuery: {
|
||||
superQueryJson: "",
|
||||
currentPage: 1,
|
||||
pageSize: 20,
|
||||
sort: "desc",
|
||||
sidx: "",
|
||||
},
|
||||
excludeIdList: [],
|
||||
checked: [],
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
init(excludeIdList) {
|
||||
this.visible = true;
|
||||
this.listLoading = true;
|
||||
if (excludeIdList) {
|
||||
this.excludeIdList = excludeIdList;
|
||||
}
|
||||
let query = {
|
||||
...this.listQuery,
|
||||
keyword: this.keyword,
|
||||
excludeIdList: this.excludeIdList,
|
||||
dataType: 0,
|
||||
};
|
||||
/* GoodsList(query).then(res => {
|
||||
this.list = res.data.list
|
||||
this.listLoading = false
|
||||
}) */
|
||||
request({
|
||||
url: `/api/scm/NxProduct/getList`,
|
||||
method: "post",
|
||||
data: query,
|
||||
}).then((res) => {
|
||||
this.list = res.data.list;
|
||||
this.listLoading = false;
|
||||
this.total = res.data.pagination.total;
|
||||
});
|
||||
},
|
||||
refresh() {
|
||||
this.keyword = "";
|
||||
this.listQuery.currentPage = 1;
|
||||
this.listQuery.pageSize = 20;
|
||||
this.listQuery.sort = "desc";
|
||||
this.listQuery.sidx = "";
|
||||
this.init();
|
||||
},
|
||||
search() {
|
||||
this.listQuery.currentPage = 1;
|
||||
this.listQuery.pageSize = 20;
|
||||
this.listQuery.sort = "desc";
|
||||
this.listQuery.sidx = "";
|
||||
this.init();
|
||||
},
|
||||
select() {
|
||||
if (!this.checked.length) return;
|
||||
this.visible = false;
|
||||
this.$emit("refreshDataList", this.checked);
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.checked = val;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
>>> .el-dialog__body {
|
||||
height: 70vh;
|
||||
padding: 0 0 10px !important;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
|
||||
.JNPF-common-search-box {
|
||||
margin-bottom: 0;
|
||||
|
||||
.JNPF-common-search-box-right {
|
||||
padding: 10px 10px 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
Loading…
Reference in new issue