parent
fbfc9d59f0
commit
d214443598
@ -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.NxPriceMapper">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
@ -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.NxPriceProductMapper">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
@ -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.NxPriceRecycleMapper">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
@ -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.NxProductMapper">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</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,210 @@
|
|||||||
|
<template>
|
||||||
|
<transition name="el-zoom-in-center">
|
||||||
|
<div class="JNPF-preview-main">
|
||||||
|
<Detail
|
||||||
|
v-if="detailVisible"
|
||||||
|
ref="Detail"
|
||||||
|
@close="detailVisible = false"
|
||||||
|
/>
|
||||||
|
<div class="JNPF-common-page-header">
|
||||||
|
<el-page-header @back="goBack" content="详情" />
|
||||||
|
<div class="options">
|
||||||
|
<el-button @click="goBack">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<el-row
|
||||||
|
:gutter="15"
|
||||||
|
class="main"
|
||||||
|
:style="{ margin: '0 auto', width: '100%' }"
|
||||||
|
>
|
||||||
|
<el-form
|
||||||
|
ref="formRef"
|
||||||
|
:model="dataForm"
|
||||||
|
size="small"
|
||||||
|
label-width="100px"
|
||||||
|
label-position="right"
|
||||||
|
>
|
||||||
|
<template v-if="!loading">
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item label-width="0">
|
||||||
|
<JnpfGroupTitle
|
||||||
|
contentPosition="left"
|
||||||
|
:closable="false"
|
||||||
|
content="基本信息"
|
||||||
|
>
|
||||||
|
</JnpfGroupTitle>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<jnpf-form-tip-item label="价格编号" prop="priceCode">
|
||||||
|
<p>{{ dataForm.priceCode }}</p>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<jnpf-form-tip-item label="报价方" prop="buinessId">
|
||||||
|
<p>{{ dataForm.buinessId }}</p>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<jnpf-form-tip-item label="价格类型" prop="priceType">
|
||||||
|
<p>{{ dataForm.priceType }}</p>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item label-width="0">
|
||||||
|
<JnpfGroupTitle
|
||||||
|
contentPosition="left"
|
||||||
|
:closable="false"
|
||||||
|
content="价格信息"
|
||||||
|
>
|
||||||
|
</JnpfGroupTitle>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item label-width="0">
|
||||||
|
<div class="JNPF-common-title">
|
||||||
|
<h2></h2>
|
||||||
|
</div>
|
||||||
|
<el-table :data="dataForm.tableField106" size="mini">
|
||||||
|
<el-table-column
|
||||||
|
type="index"
|
||||||
|
width="50"
|
||||||
|
label="序号"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="productId" label="商品名称">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{ scope.row.productId }}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="recoveryPrice" label="回收价">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{ scope.row.recoveryPrice }}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="rewardPoints" label="赠送积分">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{ scope.row.rewardPoints }}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item label-width="0">
|
||||||
|
<JnpfGroupTitle
|
||||||
|
contentPosition="left"
|
||||||
|
:closable="false"
|
||||||
|
content="适配服务站"
|
||||||
|
>
|
||||||
|
</JnpfGroupTitle>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item label-width="0">
|
||||||
|
<div class="JNPF-common-title">
|
||||||
|
<h2></h2>
|
||||||
|
</div>
|
||||||
|
<el-table :data="dataForm.tableField114" size="mini">
|
||||||
|
<el-table-column
|
||||||
|
type="index"
|
||||||
|
width="50"
|
||||||
|
label="序号"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="recycleId" label="回收站">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{ scope.row.recycleId }}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item label="备注" prop="remak">
|
||||||
|
<p>{{ dataForm.remak }}</p>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
</template>
|
||||||
|
</el-form>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</transition>
|
||||||
|
</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: "",
|
||||||
|
priceCode: "",
|
||||||
|
buinessId: [],
|
||||||
|
priceType: "1",
|
||||||
|
creatorUserId: "",
|
||||||
|
creatorTime: "",
|
||||||
|
lastModifyTime: "",
|
||||||
|
lastModifyUserId: "",
|
||||||
|
remak: "",
|
||||||
|
nxpriceproductList: [],
|
||||||
|
nxpricerecycleList: [],
|
||||||
|
},
|
||||||
|
priceTypeOptions: [{ fullName: "回收价", id: "1" }],
|
||||||
|
priceTypeProps: { 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;
|
||||||
|
},
|
||||||
|
|
||||||
|
goBack() {
|
||||||
|
this.$emit("refresh");
|
||||||
|
},
|
||||||
|
init(id) {
|
||||||
|
this.dataForm.id = id || 0;
|
||||||
|
this.visible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
if (this.dataForm.id) {
|
||||||
|
this.loading = true;
|
||||||
|
request({
|
||||||
|
url: "/api/scm/NxPrice/detail/" + this.dataForm.id,
|
||||||
|
method: "get",
|
||||||
|
}).then((res) => {
|
||||||
|
this.dataInfo(res.data);
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
@ -0,0 +1,2 @@
|
|||||||
|
const columnList = [{"jnpfKey":"billRule","fullName":"价格编号","label":"价格编号","sortable":true,"align":"left","__config__":{"formId":102,"visibility":["pc","app"],"jnpfKey":"billRule","defaultValue":null,"noShow":false,"tipLabel":"","dragDisabled":false,"rule":"priceCode","className":[],"label":"价格编号","trigger":"change","showLabel":true,"required":false,"tableName":"nx_price","renderKey":1709540345153,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-documents","ruleName":"价格编号","tag":"JnpfInput","span":8},"readonly":true,"prop":"priceCode","width":0,"__vModel__":"priceCode","fixed":"none","style":{"width":"100%"},"id":"priceCode","placeholder":"系统自动生成"},{"filterable":false,"clearable":true,"jnpfKey":"organizeSelect","ableIds":[],"multiple":false,"fullName":"报价方","label":"报价方","sortable":true,"align":"left","__config__":{"formId":103,"visibility":["pc","app"],"jnpfKey":"organizeSelect","defaultValue":[],"noShow":false,"tipLabel":"","dragDisabled":false,"className":[],"label":"报价方","trigger":"change","showLabel":true,"required":true,"tableName":"nx_price","renderKey":1709540533930,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-company","defaultCurrent":true,"tag":"JnpfOrganizeSelect","regList":[],"span":8},"prop":"buinessId","width":0,"__vModel__":"buinessId","fixed":"none","style":{"width":"100%"},"disabled":false,"selectType":"all","id":"buinessId","placeholder":"请选择","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"}},{"filterable":false,"clearable":true,"jnpfKey":"select","multiple":false,"fullName":"价格类型","label":"价格类型","sortable":true,"align":"left","props":{"label":"fullName","value":"id"},"__config__":{"formId":104,"visibility":["pc","app"],"jnpfKey":"select","defaultValue":"1","noShow":false,"dataType":"static","dictionaryType":"","tipLabel":"","dragDisabled":false,"className":[],"label":"价格类型","trigger":"change","propsUrl":"","templateJson":[],"showLabel":true,"required":true,"tableName":"nx_price","renderKey":1709540601261,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-select","propsName":"","tag":"JnpfSelect","regList":[],"span":8},"prop":"priceType","width":0,"options":[{"fullName":"回收价","id":"1"}],"__vModel__":"priceType","fixed":"none","style":{"width":"100%"},"disabled":false,"interfaceHasPage":false,"id":"priceType","placeholder":"请选择","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"}},{"jnpfKey":"createUser","fullName":"创建用户","label":"创建用户","sortable":true,"align":"left","type":"currUser","__config__":{"formId":107,"visibility":["pc","app"],"jnpfKey":"createUser","defaultValue":"","noShow":false,"tipLabel":"","dragDisabled":false,"className":[],"label":"创建用户","showLabel":true,"required":false,"tableName":"nx_price","renderKey":1709615835490,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-founder","tag":"JnpfOpenData","span":24},"readonly":true,"prop":"creatorUserId","width":0,"__vModel__":"creatorUserId","fixed":"none","style":{"width":"100%"},"id":"creatorUserId","placeholder":""},{"jnpfKey":"createTime","fullName":"创建时间","label":"创建时间","sortable":true,"align":"left","type":"currTime","__config__":{"formId":108,"visibility":["pc","app"],"jnpfKey":"createTime","defaultValue":"","noShow":false,"tipLabel":"","dragDisabled":false,"className":[],"label":"创建时间","showLabel":true,"required":false,"tableName":"nx_price","renderKey":1709615836211,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-createtime","tag":"JnpfOpenData","span":24},"readonly":true,"prop":"creatorTime","width":0,"__vModel__":"creatorTime","fixed":"none","style":{"width":"100%"},"id":"creatorTime","placeholder":""}]
|
||||||
|
export default columnList
|
@ -0,0 +1,852 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<transition name="el-zoom-in-center">
|
||||||
|
<div class="JNPF-preview-main">
|
||||||
|
<div class="JNPF-common-page-header">
|
||||||
|
<el-page-header
|
||||||
|
@back="goBack"
|
||||||
|
:content="!dataForm.id ? '新建' : '编辑'"
|
||||||
|
/>
|
||||||
|
<div class="options">
|
||||||
|
<el-dropdown class="dropdown" placement="bottom">
|
||||||
|
<el-button style="width: 70px">
|
||||||
|
更 多<i class="el-icon-arrow-down el-icon--right"></i>
|
||||||
|
</el-button>
|
||||||
|
<el-dropdown-menu slot="dropdown">
|
||||||
|
<template v-if="dataForm.id">
|
||||||
|
<el-dropdown-item @click.native="prev" :disabled="prevDis">
|
||||||
|
{{ "上一条" }}
|
||||||
|
</el-dropdown-item>
|
||||||
|
<el-dropdown-item @click.native="next" :disabled="nextDis">
|
||||||
|
{{ "下一条" }}
|
||||||
|
</el-dropdown-item>
|
||||||
|
</template>
|
||||||
|
<el-dropdown-item
|
||||||
|
type="primary"
|
||||||
|
@click.native="dataFormSubmit(2)"
|
||||||
|
:loading="continueBtnLoading"
|
||||||
|
:disabled="btnLoading"
|
||||||
|
>
|
||||||
|
{{
|
||||||
|
!dataForm.id ? "确定并新增" : "确定并继续"
|
||||||
|
}}</el-dropdown-item
|
||||||
|
>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</el-dropdown>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
@click="dataFormSubmit()"
|
||||||
|
:loading="btnLoading"
|
||||||
|
:disabled="continueBtnLoading"
|
||||||
|
>
|
||||||
|
保 存</el-button
|
||||||
|
>
|
||||||
|
<el-button @click="goBack"> 取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<el-row
|
||||||
|
:gutter="15"
|
||||||
|
class="main"
|
||||||
|
:style="{ margin: '0 auto', width: '100%' }"
|
||||||
|
>
|
||||||
|
<el-form
|
||||||
|
ref="formRef"
|
||||||
|
:model="dataForm"
|
||||||
|
:rules="dataRule"
|
||||||
|
size="small"
|
||||||
|
label-width="100px"
|
||||||
|
label-position="right"
|
||||||
|
>
|
||||||
|
<template v-if="!loading">
|
||||||
|
<!-- 具体表单 -->
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item>
|
||||||
|
<JnpfGroupTitle content="基本信息" contentPosition="left">
|
||||||
|
</JnpfGroupTitle>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<jnpf-form-tip-item label="价格编号" prop="priceCode">
|
||||||
|
<JnpfInput
|
||||||
|
v-model="dataForm.priceCode"
|
||||||
|
@change="changeData('priceCode', -1)"
|
||||||
|
placeholder="系统自动生成"
|
||||||
|
readonly
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<jnpf-form-tip-item label="报价方" prop="buinessId">
|
||||||
|
<JnpfOrganizeSelect
|
||||||
|
v-model="dataForm.buinessId"
|
||||||
|
@change="changeData('buinessId', -1)"
|
||||||
|
placeholder="请选择"
|
||||||
|
selectType="all"
|
||||||
|
:ableIds="ableAll.buinessIdableIds"
|
||||||
|
clearable
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
>
|
||||||
|
</JnpfOrganizeSelect>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<jnpf-form-tip-item label="价格类型" prop="priceType">
|
||||||
|
<JnpfSelect
|
||||||
|
v-model="dataForm.priceType"
|
||||||
|
@change="changeData('priceType', -1)"
|
||||||
|
placeholder="请选择"
|
||||||
|
clearable
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
:options="priceTypeOptions"
|
||||||
|
:props="priceTypeProps"
|
||||||
|
>
|
||||||
|
</JnpfSelect>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item>
|
||||||
|
<JnpfGroupTitle content="价格信息" contentPosition="left">
|
||||||
|
</JnpfGroupTitle>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item label-width="0">
|
||||||
|
<div class="JNPF-common-title">
|
||||||
|
<h2></h2>
|
||||||
|
</div>
|
||||||
|
<el-table :data="dataForm.nxPriceProductList" size="mini">
|
||||||
|
<el-table-column
|
||||||
|
type="index"
|
||||||
|
width="50"
|
||||||
|
label="序号"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column label="商品名称" prop="productId">
|
||||||
|
<template slot="header" v-if="false">
|
||||||
|
<span class="required-sign">*</span>商品名称
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfPopupSelect
|
||||||
|
v-model="scope.row.productId"
|
||||||
|
@change="changeProduct"
|
||||||
|
:rowIndex="scope.$index"
|
||||||
|
:formData="dataForm"
|
||||||
|
:templateJson="interfaceRes.nxpriceproductproductId"
|
||||||
|
placeholder="请选择"
|
||||||
|
hasPage
|
||||||
|
propsValue="id"
|
||||||
|
popupWidth="800px"
|
||||||
|
popupTitle="选择数据"
|
||||||
|
popupType="dialog"
|
||||||
|
relationField="name"
|
||||||
|
:field="'productId' + scope.$index"
|
||||||
|
interfaceId="534687918480949765"
|
||||||
|
:pageSize="20"
|
||||||
|
:columnOptions="nxpriceproductproductIdcolumnOptions"
|
||||||
|
clearable
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
>
|
||||||
|
</JnpfPopupSelect>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="单位" prop="units">
|
||||||
|
<template slot="header" v-if="false">
|
||||||
|
<span class="required-sign"></span>单位
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput
|
||||||
|
v-model="scope.row.units"
|
||||||
|
disabled
|
||||||
|
@change="
|
||||||
|
changeData('nxpriceproduct-units', scope.$index)
|
||||||
|
"
|
||||||
|
placeholder="请输入"
|
||||||
|
clearable
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="回收价" prop="recoveryPrice">
|
||||||
|
<template slot="header" v-if="false">
|
||||||
|
<span class="required-sign">*</span>回收价
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput
|
||||||
|
v-model="scope.row.recoveryPrice"
|
||||||
|
@change="
|
||||||
|
changeData(
|
||||||
|
'nxpriceproduct-recoveryPrice',
|
||||||
|
scope.$index
|
||||||
|
)
|
||||||
|
"
|
||||||
|
placeholder="请输入"
|
||||||
|
clearable
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="赠送积分" prop="rewardPoints">
|
||||||
|
<template slot="header" v-if="false">
|
||||||
|
<span class="required-sign">*</span>赠送积分
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfInput
|
||||||
|
v-model="scope.row.rewardPoints"
|
||||||
|
@change="
|
||||||
|
changeData(
|
||||||
|
'nxpriceproduct-rewardPoints',
|
||||||
|
scope.$index
|
||||||
|
)
|
||||||
|
"
|
||||||
|
placeholder="请输入"
|
||||||
|
clearable
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
>
|
||||||
|
</JnpfInput>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" width="50">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
class="JNPF-table-delBtn"
|
||||||
|
@click="delnxpriceproductList(scope.$index)"
|
||||||
|
>删除</el-button
|
||||||
|
>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div class="table-actions" @click="addnxpriceproductList()">
|
||||||
|
<el-button type="text" icon="el-icon-plus">添加</el-button>
|
||||||
|
</div>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item>
|
||||||
|
<JnpfGroupTitle content="适配服务站" contentPosition="left">
|
||||||
|
</JnpfGroupTitle>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item label-width="0">
|
||||||
|
<div class="JNPF-common-title">
|
||||||
|
<h2></h2>
|
||||||
|
</div>
|
||||||
|
<el-table :data="dataForm.nxPriceRecycleList" size="mini">
|
||||||
|
<el-table-column
|
||||||
|
type="index"
|
||||||
|
width="50"
|
||||||
|
label="序号"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column label="回收站" prop="recycleId">
|
||||||
|
<template slot="header" v-if="false">
|
||||||
|
<span class="required-sign">*</span>回收站
|
||||||
|
</template>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JnpfPopupSelect
|
||||||
|
v-model="scope.row.recycleId"
|
||||||
|
@change="
|
||||||
|
changeData('nxpricerecycle-recycleId', scope.$index)
|
||||||
|
"
|
||||||
|
:rowIndex="scope.$index"
|
||||||
|
:formData="dataForm"
|
||||||
|
:templateJson="interfaceRes.nxpricerecyclerecycleId"
|
||||||
|
placeholder="请选择"
|
||||||
|
hasPage
|
||||||
|
propsValue="id"
|
||||||
|
popupWidth="800px"
|
||||||
|
popupTitle="选择数据"
|
||||||
|
popupType="dialog"
|
||||||
|
relationField="station_name"
|
||||||
|
:field="'recycleId' + scope.$index"
|
||||||
|
interfaceId="534688845753483781"
|
||||||
|
:pageSize="20"
|
||||||
|
:columnOptions="nxpricerecyclerecycleIdcolumnOptions"
|
||||||
|
clearable
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
>
|
||||||
|
</JnpfPopupSelect>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" width="50">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
class="JNPF-table-delBtn"
|
||||||
|
@click="delnxpricerecycleList(scope.$index)"
|
||||||
|
>删除</el-button
|
||||||
|
>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div class="table-actions" @click="addnxpricerecycleList()">
|
||||||
|
<el-button type="text" icon="el-icon-plus">添加</el-button>
|
||||||
|
</div>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item label="备注" prop="remak">
|
||||||
|
<JnpfInput
|
||||||
|
v-model="dataForm.remak"
|
||||||
|
@change="changeData('remak', -1)"
|
||||||
|
placeholder="请输入"
|
||||||
|
clearable
|
||||||
|
: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>
|
||||||
|
</div>
|
||||||
|
</transition>
|
||||||
|
</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: {
|
||||||
|
nxPriceProductList: {
|
||||||
|
popupType: "dialog",
|
||||||
|
hasPage: true,
|
||||||
|
popupTitle: "选择数据",
|
||||||
|
pageSize: 20,
|
||||||
|
columnOptions: [],
|
||||||
|
interfaceId: "",
|
||||||
|
interfaceName: "",
|
||||||
|
relationOptions: [],
|
||||||
|
templateJson: [],
|
||||||
|
popupWidth: "800px",
|
||||||
|
},
|
||||||
|
nxPriceRecycleList: {
|
||||||
|
popupType: "dialog",
|
||||||
|
hasPage: true,
|
||||||
|
popupTitle: "选择数据",
|
||||||
|
pageSize: 20,
|
||||||
|
columnOptions: [],
|
||||||
|
interfaceId: "",
|
||||||
|
interfaceName: "",
|
||||||
|
relationOptions: [],
|
||||||
|
templateJson: [],
|
||||||
|
popupWidth: "800px",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
//可选范围默认值
|
||||||
|
ableAll: {},
|
||||||
|
tableRows: {
|
||||||
|
nxPriceProductList: {
|
||||||
|
productId: "",
|
||||||
|
productIdOptions: [],
|
||||||
|
recoveryPrice: "",
|
||||||
|
recoveryPriceOptions: [],
|
||||||
|
rewardPoints: "",
|
||||||
|
rewardPointsOptions: [],
|
||||||
|
enabledmark: undefined,
|
||||||
|
},
|
||||||
|
nxPriceRecycleList: {
|
||||||
|
recycleId: "",
|
||||||
|
recycleIdOptions: [],
|
||||||
|
enabledmark: undefined,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Vmodel: "",
|
||||||
|
currVmodel: "",
|
||||||
|
dataForm: {
|
||||||
|
priceCode: undefined,
|
||||||
|
buinessId: [],
|
||||||
|
priceType: "1",
|
||||||
|
creatorUserId: undefined,
|
||||||
|
creatorTime: undefined,
|
||||||
|
lastModifyTime: undefined,
|
||||||
|
lastModifyUserId: undefined,
|
||||||
|
remak: undefined,
|
||||||
|
nxPriceProductList: [],
|
||||||
|
nxPriceRecycleList: [],
|
||||||
|
version: 0,
|
||||||
|
},
|
||||||
|
tableRequiredData: {},
|
||||||
|
dataRule: {
|
||||||
|
buinessId: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请至少选择一个",
|
||||||
|
trigger: "change",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
priceType: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请至少选择一个",
|
||||||
|
trigger: "change",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
priceTypeOptions: [{ fullName: "回收价", id: "1" }],
|
||||||
|
priceTypeProps: { label: "fullName", value: "id" },
|
||||||
|
nxpriceproductproductIdcolumnOptions: [
|
||||||
|
{ label: "编码", value: "code" },
|
||||||
|
{ label: "名称", value: "name" },
|
||||||
|
{ label: "规格", value: "spec" },
|
||||||
|
],
|
||||||
|
nxpricerecyclerecycleIdcolumnOptions: [
|
||||||
|
{ label: "回收站编号", value: "station_code" },
|
||||||
|
{ label: "回收站名称", value: "station_name" },
|
||||||
|
],
|
||||||
|
childIndex: -1,
|
||||||
|
isEdit: false,
|
||||||
|
interfaceRes: {
|
||||||
|
priceCode: [],
|
||||||
|
buinessId: [],
|
||||||
|
priceType: [],
|
||||||
|
creatorUserId: [],
|
||||||
|
creatorTime: [],
|
||||||
|
lastModifyTime: [],
|
||||||
|
lastModifyUserId: [],
|
||||||
|
remak: [],
|
||||||
|
nxpriceproductproductId: [],
|
||||||
|
nxpriceproductrecoveryPrice: [],
|
||||||
|
nxpriceproductrewardPoints: [],
|
||||||
|
nxpricerecyclerecycleId: [],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
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/NxPrice/" + id,
|
||||||
|
method: "get",
|
||||||
|
}).then((res) => {
|
||||||
|
this.dataInfo(res.data);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
goBack() {
|
||||||
|
this.visible = false;
|
||||||
|
this.$emit("refreshDataList", true);
|
||||||
|
},
|
||||||
|
|
||||||
|
changeProduct(model, row) {
|
||||||
|
row.productId = row.id;
|
||||||
|
|
||||||
|
this.dataForm.nxPriceProductList.push(row);
|
||||||
|
// debugger;
|
||||||
|
// console.log(this.dataForm.nxPriceProductList);
|
||||||
|
this.dataForm.nxPriceProductList.splice(-2, 1);
|
||||||
|
|
||||||
|
// this.dataForm.units = row.units;
|
||||||
|
},
|
||||||
|
|
||||||
|
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() {},
|
||||||
|
nxpriceproductExist() {
|
||||||
|
let isOk = true;
|
||||||
|
for (let i = 0; i < this.dataForm.nxPriceProductList.length; i++) {
|
||||||
|
const e = this.dataForm.nxPriceProductList[i];
|
||||||
|
}
|
||||||
|
return isOk;
|
||||||
|
},
|
||||||
|
nxpricerecycleExist() {
|
||||||
|
let isOk = true;
|
||||||
|
for (let i = 0; i < this.dataForm.nxPriceRecycleList.length; i++) {
|
||||||
|
const e = this.dataForm.nxPriceRecycleList[i];
|
||||||
|
}
|
||||||
|
return isOk;
|
||||||
|
},
|
||||||
|
goBack() {
|
||||||
|
this.$emit("refresh");
|
||||||
|
},
|
||||||
|
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/NxPrice/" + 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() {
|
||||||
|
if (
|
||||||
|
this.userInfo.organizeIdList instanceof Array &&
|
||||||
|
this.userInfo.organizeIdList.length > 0
|
||||||
|
) {
|
||||||
|
this.dataForm.buinessId = this.userInfo.organizeIdList;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 表单提交
|
||||||
|
dataFormSubmit(type) {
|
||||||
|
this.dataFormSubmitType = type ? type : 0;
|
||||||
|
this.$refs["formRef"].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
if (!this.nxpriceproductExist()) return;
|
||||||
|
if (!this.nxpricerecycleExist()) return;
|
||||||
|
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/NxPrice",
|
||||||
|
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/NxPrice/" + 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;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
addnxpriceproductList() {
|
||||||
|
let item = {
|
||||||
|
productId: "",
|
||||||
|
recoveryPrice: undefined,
|
||||||
|
rewardPoints: undefined,
|
||||||
|
};
|
||||||
|
this.getnxpriceproductList(item);
|
||||||
|
},
|
||||||
|
delnxpriceproductList(index) {
|
||||||
|
this.$confirm("此操作将永久删除该数据, 是否继续?", "提示", {
|
||||||
|
type: "warning",
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.dataForm.nxPriceProductList.splice(index, 1);
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
},
|
||||||
|
getnxpriceproductList(value) {
|
||||||
|
let item = { ...this.tableRows.nxPriceProductList, ...value };
|
||||||
|
this.dataForm.nxPriceProductList.push(item);
|
||||||
|
this.childIndex = this.dataForm.nxPriceProductList.length - 1;
|
||||||
|
this.isEdit = true;
|
||||||
|
this.isEdit = false;
|
||||||
|
this.childIndex = -1;
|
||||||
|
},
|
||||||
|
addnxpricerecycleList() {
|
||||||
|
let item = {
|
||||||
|
recycleId: "",
|
||||||
|
};
|
||||||
|
this.getnxpricerecycleList(item);
|
||||||
|
},
|
||||||
|
delnxpricerecycleList(index) {
|
||||||
|
this.$confirm("此操作将永久删除该数据, 是否继续?", "提示", {
|
||||||
|
type: "warning",
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.dataForm.nxPriceRecycleList.splice(index, 1);
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
},
|
||||||
|
getnxpricerecycleList(value) {
|
||||||
|
let item = { ...this.tableRows.nxPriceRecycleList, ...value };
|
||||||
|
this.dataForm.nxPriceRecycleList.push(item);
|
||||||
|
this.childIndex = this.dataForm.nxPriceRecycleList.length - 1;
|
||||||
|
this.isEdit = true;
|
||||||
|
this.isEdit = false;
|
||||||
|
this.childIndex = -1;
|
||||||
|
},
|
||||||
|
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();
|
||||||
|
for (let i = 0; i < _dataAll.nxPriceProductList.length; i++) {
|
||||||
|
this.childIndex = i;
|
||||||
|
}
|
||||||
|
for (let i = 0; i < _dataAll.nxPriceRecycleList.length; i++) {
|
||||||
|
this.childIndex = i;
|
||||||
|
}
|
||||||
|
this.childIndex = -1;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,130 @@
|
|||||||
|
<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="12">
|
||||||
|
<jnpf-form-tip-item label="编码" prop="code">
|
||||||
|
<p>{{ dataForm.code }}</p>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<jnpf-form-tip-item label="名称" prop="name">
|
||||||
|
<p>{{ dataForm.name }}</p>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<jnpf-form-tip-item label="规格" prop="spec">
|
||||||
|
<p>{{ dataForm.spec }}</p>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<jnpf-form-tip-item label="库存单位" prop="unit">
|
||||||
|
<p>{{ dataForm.unit }}</p>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item label="备注" prop="remak">
|
||||||
|
<p>{{ dataForm.remak }}</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: "",
|
||||||
|
code: "",
|
||||||
|
name: "",
|
||||||
|
spec: "",
|
||||||
|
unit: "",
|
||||||
|
remak: "",
|
||||||
|
creatorTime: "",
|
||||||
|
creatorUserId: "",
|
||||||
|
lastModifyTime: "",
|
||||||
|
lastModifyUserId: "",
|
||||||
|
},
|
||||||
|
unitOptions: [
|
||||||
|
{ fullName: "克", id: "1" },
|
||||||
|
{ fullName: "千克", id: "2" },
|
||||||
|
{ fullName: "吨", id: "3" },
|
||||||
|
],
|
||||||
|
unitProps: { 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/NxProduct/detail/" + this.dataForm.id,
|
||||||
|
method: "get",
|
||||||
|
}).then((res) => {
|
||||||
|
this.dataInfo(res.data);
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
@ -0,0 +1,2 @@
|
|||||||
|
const columnList = [{"jnpfKey":"billRule","fullName":"编码","label":"编码","sortable":true,"align":"left","__config__":{"formId":101,"visibility":["pc","app"],"jnpfKey":"billRule","defaultValue":null,"noShow":false,"tipLabel":"","dragDisabled":false,"rule":"prodcut","className":[],"label":"编码","trigger":"change","showLabel":true,"required":false,"tableName":"nx_product","renderKey":1709603202538,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-documents","ruleName":"商品回收类目编码","tag":"JnpfInput","span":12},"readonly":true,"prop":"code","width":0,"__vModel__":"code","fixed":"none","style":{"width":"100%"},"id":"code","placeholder":"系统自动生成"},{"clearable":true,"maxlength":null,"jnpfKey":"input","suffixIcon":"","fullName":"名称","label":"名称","sortable":true,"align":"left","addonAfter":"","__config__":{"formId":102,"visibility":["pc","app"],"jnpfKey":"input","noShow":false,"tipLabel":"","dragDisabled":false,"className":[],"label":"名称","trigger":"blur","showLabel":true,"required":true,"tableName":"nx_product","renderKey":1709603257974,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-input","unique":false,"tag":"JnpfInput","regList":[],"span":12},"readonly":false,"prop":"name","showWordLimit":false,"width":0,"__vModel__":"name","showPassword":false,"fixed":"none","style":{"width":"100%"},"disabled":false,"id":"name","placeholder":"请输入","prefixIcon":"","addonBefore":"","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}","blur":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"}},{"clearable":true,"maxlength":null,"jnpfKey":"input","suffixIcon":"","fullName":"规格","label":"规格","sortable":true,"align":"left","addonAfter":"","__config__":{"formId":103,"visibility":["pc","app"],"jnpfKey":"input","noShow":false,"tipLabel":"","dragDisabled":false,"className":[],"label":"规格","trigger":"blur","showLabel":true,"required":true,"tableName":"nx_product","renderKey":1709603269364,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-input","unique":false,"tag":"JnpfInput","regList":[],"span":12},"readonly":false,"prop":"spec","showWordLimit":false,"width":0,"__vModel__":"spec","showPassword":false,"fixed":"none","style":{"width":"100%"},"disabled":false,"id":"spec","placeholder":"请输入","prefixIcon":"","addonBefore":"","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}","blur":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"}},{"filterable":false,"clearable":true,"jnpfKey":"select","multiple":false,"fullName":"库存单位","label":"库存单位","sortable":true,"align":"left","props":{"label":"fullName","value":"id"},"__config__":{"formId":105,"visibility":["pc","app"],"jnpfKey":"select","defaultValue":"","noShow":false,"dataType":"static","dictionaryType":"","tipLabel":"","dragDisabled":false,"className":[],"label":"库存单位","trigger":"change","propsUrl":"","templateJson":[],"showLabel":true,"required":true,"tableName":"nx_product","renderKey":1709603304816,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-select","propsName":"","tag":"JnpfSelect","regList":[],"span":12},"prop":"unit","width":0,"options":[{"fullName":"克","id":"1"},{"fullName":"千克","id":"2"},{"fullName":"吨","id":"3"}],"__vModel__":"unit","fixed":"none","style":{"width":"100%"},"disabled":false,"interfaceHasPage":false,"id":"unit","placeholder":"请选择","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"}}]
|
||||||
|
export default columnList
|
@ -0,0 +1,515 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<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="12">
|
||||||
|
<jnpf-form-tip-item label="编码" prop="code">
|
||||||
|
<JnpfInput
|
||||||
|
v-model="dataForm.code"
|
||||||
|
@change="changeData('code', -1)"
|
||||||
|
placeholder="系统自动生成"
|
||||||
|
readonly
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<jnpf-form-tip-item label="名称" prop="name">
|
||||||
|
<JnpfInput
|
||||||
|
v-model="dataForm.name"
|
||||||
|
@change="changeData('name', -1)"
|
||||||
|
placeholder="请输入"
|
||||||
|
clearable
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<jnpf-form-tip-item label="规格" prop="spec">
|
||||||
|
<JnpfInput
|
||||||
|
v-model="dataForm.spec"
|
||||||
|
@change="changeData('spec', -1)"
|
||||||
|
placeholder="请输入"
|
||||||
|
clearable
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
>
|
||||||
|
</JnpfInput>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<jnpf-form-tip-item label="库存单位" prop="unit">
|
||||||
|
<JnpfSelect
|
||||||
|
v-model="dataForm.unit"
|
||||||
|
@change="changeData('unit', -1)"
|
||||||
|
placeholder="请选择"
|
||||||
|
clearable
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
:options="unitOptions"
|
||||||
|
:props="unitProps"
|
||||||
|
>
|
||||||
|
</JnpfSelect>
|
||||||
|
</jnpf-form-tip-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<jnpf-form-tip-item label="备注" prop="remak">
|
||||||
|
<JnpfInput
|
||||||
|
v-model="dataForm.remak"
|
||||||
|
@change="changeData('remak', -1)"
|
||||||
|
placeholder="请输入"
|
||||||
|
clearable
|
||||||
|
: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: {
|
||||||
|
code: undefined,
|
||||||
|
name: undefined,
|
||||||
|
spec: undefined,
|
||||||
|
unit: undefined,
|
||||||
|
remak: undefined,
|
||||||
|
creatorTime: undefined,
|
||||||
|
creatorUserId: undefined,
|
||||||
|
lastModifyTime: undefined,
|
||||||
|
lastModifyUserId: undefined,
|
||||||
|
version: 0,
|
||||||
|
},
|
||||||
|
tableRequiredData: {},
|
||||||
|
dataRule: {
|
||||||
|
name: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请输入",
|
||||||
|
trigger: "blur",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
spec: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请输入",
|
||||||
|
trigger: "blur",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
unit: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请选择",
|
||||||
|
trigger: "change",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
unitOptions: [
|
||||||
|
{ fullName: "克", id: "1" },
|
||||||
|
{ fullName: "千克", id: "2" },
|
||||||
|
{ fullName: "吨", id: "3" },
|
||||||
|
],
|
||||||
|
unitProps: { label: "fullName", value: "id" },
|
||||||
|
childIndex: -1,
|
||||||
|
isEdit: false,
|
||||||
|
interfaceRes: {
|
||||||
|
code: [],
|
||||||
|
name: [],
|
||||||
|
spec: [],
|
||||||
|
unit: [],
|
||||||
|
remak: [],
|
||||||
|
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/NxProduct/" + 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/NxProduct/" + 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/NxProduct",
|
||||||
|
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/NxProduct/" + 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>
|
@ -0,0 +1,2 @@
|
|||||||
|
const superQueryJson = [{"__config__":{"formId":101,"visibility":["pc","app"],"jnpfKey":"billRule","defaultValue":null,"noShow":false,"tipLabel":"","dragDisabled":false,"rule":"prodcut","className":[],"label":"编码","trigger":"change","showLabel":true,"required":false,"tableName":"nx_product","renderKey":1709603202538,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-documents","ruleName":"商品回收类目编码","tag":"JnpfInput","span":12},"readonly":true,"__vModel__":"code","fullName":"编码","style":{"width":"100%"},"id":"code","placeholder":"系统自动生成"},{"clearable":true,"maxlength":null,"suffixIcon":"","fullName":"名称","addonAfter":"","__config__":{"formId":102,"visibility":["pc","app"],"jnpfKey":"input","noShow":false,"tipLabel":"","dragDisabled":false,"className":[],"label":"名称","trigger":"blur","showLabel":true,"required":true,"tableName":"nx_product","renderKey":1709603257974,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-input","unique":false,"tag":"JnpfInput","regList":[],"span":12},"readonly":false,"showWordLimit":false,"__vModel__":"name","showPassword":false,"style":{"width":"100%"},"disabled":false,"id":"name","placeholder":"请输入","prefixIcon":"","addonBefore":"","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}","blur":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"}},{"clearable":true,"maxlength":null,"suffixIcon":"","fullName":"规格","addonAfter":"","__config__":{"formId":103,"visibility":["pc","app"],"jnpfKey":"input","noShow":false,"tipLabel":"","dragDisabled":false,"className":[],"label":"规格","trigger":"blur","showLabel":true,"required":true,"tableName":"nx_product","renderKey":1709603269364,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-input","unique":false,"tag":"JnpfInput","regList":[],"span":12},"readonly":false,"showWordLimit":false,"__vModel__":"spec","showPassword":false,"style":{"width":"100%"},"disabled":false,"id":"spec","placeholder":"请输入","prefixIcon":"","addonBefore":"","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}","blur":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"}},{"filterable":false,"clearable":true,"multiple":false,"fullName":"库存单位","props":{"label":"fullName","value":"id"},"__config__":{"formId":105,"visibility":["pc","app"],"jnpfKey":"select","defaultValue":"","noShow":false,"dataType":"static","dictionaryType":"","tipLabel":"","dragDisabled":false,"className":[],"label":"库存单位","trigger":"change","propsUrl":"","templateJson":[],"showLabel":true,"required":true,"tableName":"nx_product","renderKey":1709603304816,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-select","propsName":"","tag":"JnpfSelect","regList":[],"span":12},"options":[{"fullName":"克","id":"1"},{"fullName":"千克","id":"2"},{"fullName":"吨","id":"3"}],"__vModel__":"unit","style":{"width":"100%"},"disabled":false,"interfaceHasPage":false,"id":"unit","placeholder":"请选择","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"}},{"clearable":true,"maxlength":null,"suffixIcon":"","fullName":"备注","addonAfter":"","__config__":{"formId":106,"visibility":["pc","app"],"jnpfKey":"input","noShow":false,"tipLabel":"","dragDisabled":false,"className":[],"label":"备注","trigger":"blur","showLabel":true,"required":false,"tableName":"nx_product","renderKey":1709603355148,"layout":"colFormItem","tagIcon":"icon-ym icon-ym-generator-input","unique":false,"tag":"JnpfInput","regList":[],"span":24},"readonly":false,"showWordLimit":false,"__vModel__":"remak","showPassword":false,"style":{"width":"100%"},"disabled":false,"id":"remak","placeholder":"请输入","prefixIcon":"","addonBefore":"","on":{"change":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}","blur":"({ data, formData, setFormData, setShowOrHide, setRequired, setDisabled, onlineUtils }) => {\n // 在此编写代码\n \n}"}}]
|
||||||
|
export default superQueryJson
|
Loading…
Reference in new issue