第三方产品信息导入

演示数据
anthonywj 1 year ago
parent 009be406b8
commit b2e89d48f8

@ -33,7 +33,7 @@ ENV = 'production'
# VUE_APP_BASE_API = 'http://139.9.174.242:9150/UDI_SPMS_SERVER/'
# VUE_APP_BASE_API = 'http://192.168.0.17:9150/UDI_SPMS_SERVER/'
# 大田
VUE_APP_BASE_API = 'http://110.83.220.178:9150/UDI_SPMS_SERVER/'
# VUE_APP_BASE_API = 'http://110.83.220.178:9150/UDI_SPMS_SERVER/'
# 云霄妇幼
# VUE_APP_BASE_API = 'http://192.168.0.72:9150/UDI_SPMS_SERVER/'
@ -43,17 +43,17 @@ VUE_APP_BASE_API = 'http://110.83.220.178:9150/UDI_SPMS_SERVER/'
# VUE_APP_BASE_API = 'http://192.168.20.128:9150/UDI_SPMS_SERVER/'
# 东山
# VUE_APP_BASE_API = 'http://116.204.108.228:9150/UDI_SPMS_SERVER/'
VUE_APP_BASE_API = 'http://116.204.108.228:9150/UDI_SPMS_SERVER/'
# VUE_APP_BASE_API = 'http://192.168.0.117:9150/UDI_SPMS_SERVER/'
# 应用访问路径 例如使用前缀 /admin/
# 域名
# VUE_APP_CONTEXT_PATH = '/'
VUE_APP_CONTEXT_PATH = '/'
# 其他
VUE_APP_CONTEXT_PATH = '/UDI_SPMS_CLIENT/'
# VUE_APP_CONTEXT_PATH = '/UDI_SPMS_CLIENT/'
# 监控地址
VUE_APP_MONITRO_ADMIN = '/admin/login'

@ -4,12 +4,13 @@ import {
setToken,
removeToken,
removeAdminId,
setAdminId,
setAdminId, getAdminId,
} from "@/utils/auth";
import {sha256} from "js-sha256";
const user = {
state: {
adminId: "",
adminId: getAdminId(),
token: getToken(),
name: "",
avatar: "",

@ -1,7 +1,7 @@
import Cookies from 'js-cookie'
const TokenKey = 'Admin-Token'
const ADMINKey = 'Admin-ID'
const TokenKey = 'Admin_Token'
const ADMINKey = 'Admin_ID'
export function getToken() {
return Cookies.get(TokenKey)

@ -563,7 +563,7 @@ export default {
if (year < 0 || year > 99 ||
month < 1 || month > 12 ||
day < 1 || day > 31) {
errorMessage = '时间格式有效,但日期不存在';
errorMessage = '时间格式不正确!';
} else {
//
const fullYear = year < 50 ? 2000 + year : 1900 + year;
@ -571,7 +571,7 @@ export default {
//
if (dateObj.getFullYear() !== fullYear || dateObj.getMonth() + 1 !== month || dateObj.getDate() !== day) {
errorMessage = '时间格式有效,但日期不存在';
errorMessage = '时间格式不正确!';
}
}
}

@ -273,7 +273,6 @@ export default {
Cookies.remove("username");
Cookies.remove("password");
}
debugger
this.$store
.dispatch("Login", this.loginForm)
.then((res) => {

@ -109,6 +109,7 @@
<el-table-column label="注册/备案号" prop="registerNo"></el-table-column>
<el-table-column label="生产企业" prop="manufactory"></el-table-column>
<el-table-column label="配送企业" prop="supName"></el-table-column>
<el-table-column label="价格" prop="price"></el-table-column>
</el-table>
<pagination
@ -131,7 +132,8 @@
</el-col>
<el-col :span="12">
<el-form-item label="产品标识:">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容" v-model="data.nameCode"></el-input>
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"
v-model="data.nameCode"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -139,12 +141,14 @@
<el-row>
<el-col :span="12" class="el-col">
<el-form-item label="规格型号:">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容" v-model="data.ggxh"></el-input>
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"
v-model="data.ggxh"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="医疗器械注册人:">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="ylqxzcrbarmc" v-model="data.ylqxzcrbarmc"></el-input>
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="ylqxzcrbarmc"
v-model="data.ylqxzcrbarmc"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -152,12 +156,14 @@
<el-row>
<el-col :span="12" class="el-col">
<el-form-item label="产品名称:">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容" v-model="data.ylqxzcrbarywmc"></el-input>
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"
v-model="data.ylqxzcrbarywmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="器械类别:">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容" v-model="data.qxlb"></el-input>
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"
v-model="data.qxlb"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -165,12 +171,14 @@
<el-row>
<el-col :span="12" class="el-col">
<el-form-item label="产品类别:">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容" v-model="data.cplb"></el-input>
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"
v-model="data.cplb"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="分类编码:">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容" v-model="data.flbm"></el-input>
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"
v-model="data.flbm"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -178,12 +186,14 @@
<el-row>
<el-col :span="12" class="el-col">
<el-form-item label="商品条码:">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容" v-model="data.sptm"></el-input>
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"
v-model="data.sptm"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="医保编码:">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容" v-model="data.ybbm"></el-input>
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"
v-model="data.ybbm"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -191,12 +201,14 @@
<el-row>
<el-col :span="12" class="el-col">
<el-form-item label="统一社会信用号:">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容" v-model="data.tyshxydm"></el-input>
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"
v-model="data.tyshxydm"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="注册证/备案号:">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容" v-model="data.zczbhhzbapzbh"></el-input>
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"
v-model="data.zczbhhzbapzbh"></el-input>
</el-form-item>
</el-col>
</el-row>

@ -64,7 +64,9 @@
<!-- </el-row>-->
<el-row style=" display:flex; flex-wrap: wrap; ">
<template v-for="(item, index) in queryList">
<el-form-item v-if="item.columnType == 'input' && item.columnName !='queryName' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`" :key="item.id">
<el-form-item
v-if="item.columnType == 'input' && item.columnName !='queryName' && executeEval(row,item.expression,true)"
:label="item.columnDesc+`:`" :key="item.id">
<el-input
v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc"
@ -73,7 +75,9 @@
clearable
></el-input>
</el-form-item>
<el-form-item v-if="item.columnType == 'input' && item.columnName =='queryName' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`" :key="item.id">
<el-form-item
v-if="item.columnType == 'input' && item.columnName =='queryName' && executeEval(row,item.expression,true)"
:label="item.columnDesc+`:`" :key="item.id">
<el-autocomplete
class="inline-input"
style="width: 90%"
@ -85,7 +89,8 @@
@clear="clearQueryProduct"
></el-autocomplete>
</el-form-item>
<el-form-item v-if="item.columnType == 'select' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`">
<el-form-item v-if="item.columnType == 'select' && executeEval(row,item.expression,true)"
:label="item.columnDesc+`:`">
<el-select v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc"
@change="executeFuc($event,'5',item.checkRules)"
@ -98,10 +103,13 @@
:value="dict.value"
/>
<span style="float: left">{{ item.name }}</span>
<span v-if="item.isShowXx == '1'" style="float: right; color: #8492a6; font-size: 13px">{{ item.code }}</span>
<span v-if="item.isShowXx == '1'" style="float: right; color: #8492a6; font-size: 13px">{{
item.code
}}</span>
</el-select>
</el-form-item>
<el-form-item v-if="item.columnType == 'selectServer' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`">
<el-form-item v-if="item.columnType == 'selectServer' && executeEval(row,item.expression,true)"
:label="item.columnDesc+`:`">
<el-select
v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc"
@ -118,10 +126,13 @@
:value="item.code"
/>
<span style="float: left">{{ item.name }}</span>
<span v-if="item.isShowXx == '1'" style="float: right; color: #8492a6; font-size: 13px">{{ item.code }}</span>
<span v-if="item.isShowXx == '1'" style="float: right; color: #8492a6; font-size: 13px">{{
item.code
}}</span>
</el-select>
</el-form-item>
<el-form-item v-if="item.columnType == 'datePicker' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`">
<el-form-item v-if="item.columnType == 'datePicker' && executeEval(row,item.expression,true)"
:label="item.columnDesc+`:`">
<el-date-picker
:picker-options="pickerOptions"
v-model="actDateRange"
@ -133,7 +144,8 @@
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item v-if="item.columnType == 'date' && executeEval(row,item.expression,true)" :label="item.columnDesc+`:`">
<el-form-item v-if="item.columnType == 'date' && executeEval(row,item.expression,true)"
:label="item.columnDesc+`:`">
<el-date-picker
v-model="filterQuery[item.columnName]"
:style="`width:${item.width+'px'}`"
@ -150,19 +162,23 @@
<div class="top-right-btn">
<el-button-group style="display: flex">
<el-button icon="el-icon-view" type="primary" @click="hideSearch"
>显示/隐藏搜索栏</el-button
>显示/隐藏搜索栏
</el-button
>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"
>重置</el-button
>重置
</el-button
>
<el-button type="primary" icon="el-icon-search" @click="search"
>查询</el-button
>查询
</el-button
>
<el-button
type="primary"
icon="el-icon-plus"
icon="el-icon-check"
@click="addDiProductVisible = true"
>选入DI信息</el-button
>选入DI信息
</el-button
>
<el-button
type="primary"
@ -171,6 +187,20 @@
>添加院内字典
</el-button
>
<el-upload
:action="uploadFileUrl"
multiple
:limit="1"
:headers="headers"
:data="uploadData"
:show-file-list="false"
accept=".xls,.xlsx"
:on-success="handleChange"
:file-list="fileList"
>
<el-button icon="el-icon-upload2" type="primary">Excel导入</el-button>
</el-upload>
</el-button-group>
</div>
<el-divider style="margin: 15px"></el-divider>
@ -262,7 +292,9 @@
:key="item.columnName"
>
<template slot-scope="scope">
<span :style="{color: executeFuc(scope.row,'4',item.lableRuleObj[scope.row[item.columnName]])}">{{ item.lableRuleObj[scope.row[item.columnName]] }}</span>
<span :style="{color: executeFuc(scope.row,'4',item.lableRuleObj[scope.row[item.columnName]])}">{{
item.lableRuleObj[scope.row[item.columnName]]
}}</span>
</template>
</el-table-column>
<el-table-column
@ -275,8 +307,11 @@
:key="item.columnName"
>
<template slot-scope="scope">
<el-tag :type="executeFuc(scope.row,'4',item,item.lableRuleObj?item.lableRuleObj[scope.row[item.columnName]]:scope.row[item.columnName])">
<span>{{ item.lableRuleObj?item.lableRuleObj[scope.row[item.columnName]]:scope.row[item.columnName] }}</span>
<el-tag
:type="executeFuc(scope.row,'4',item,item.lableRuleObj?item.lableRuleObj[scope.row[item.columnName]]:scope.row[item.columnName])">
<span>{{
item.lableRuleObj ? item.lableRuleObj[scope.row[item.columnName]] : scope.row[item.columnName]
}}</span>
</el-tag>
</template>
</el-table-column>
@ -311,7 +346,9 @@
:key="item.columnName"
>
<template slot-scope="scope">
<span :style="{color: executeFuc(scope.row,'4',item,scope.row[item.columnName])}">{{ scope.row[item.columnName] }}</span>
<span :style="{color: executeFuc(scope.row,'4',item,scope.row[item.columnName])}">{{
scope.row[item.columnName]
}}</span>
</template>
</el-table-column>
</template>
@ -400,6 +437,7 @@ import thrProductsDetail from "@/views/supplier/products/supProductsDetail";
import {
getHead, executeFuc
} from "@/utils/customConfig";
import store from "@/store";
export default {
data() {
@ -423,8 +461,7 @@ export default {
tableHeader2: [],
queryList2: [],
fromList2: [],
options: {
},
options: {},
thirdSys: [],
delect: null,
thirdSysDetail: null,
@ -450,6 +487,12 @@ export default {
curRow: null,
diDetails: null,
detailDialog: false,
uploadFileUrl: null,
uploadData: {
thirdSys: "thirdId",
},
fileList: [],
headers: {},
};
},
@ -520,14 +563,14 @@ export default {
_this.thrProductsDetailVisible = true;
}
},
deleteProduct(_this,id) {
deleteProduct(_this, row) {
let query = {
id: id,
id: row.id,
};
delThrDiProducts(query).then((res) => {
if (res.code === 20000) {
_this.$message.success("删除成功");
this.getList();
_this.getList();
} else {
_this.$message.error("删除失败");
}
@ -554,15 +597,25 @@ export default {
return eval(expression);
}
return defaultRet;
},
handleChange(response, files, fileList) {
console.log(response);
if (response.code != 20000) {
this.$message.error(response.message);
} else {
this.$message.success(response.data);
this.getList();
}
},
},
components: {
thrAddDiProductSelectUdi,
selectDiDetail,
thrAddProductSelectUdi,
thrProductsDetail,
},
mounted() {},
mounted() {
},
created() {
getHead("supProductsAddDi", "1").then((re) => {
//
@ -572,6 +625,15 @@ export default {
this.fromList = re.data.fromList;
this.getList();
});
this.uploadFileUrl = process.env.VUE_APP_BASE_API + "/spms/thrAddDi/excel/upload";
this.headers = {
ADMIN_ID: this.$store.getters.adminId,
ADMIN_TOKEN: this.$store.getters.token,
};
console.log(this.headers);
console.log(this.$store.getters);
console.log(this.uploadFileUrl);
},
};
</script>

Loading…
Cancel
Save