文件

247 行
11 KiB
HTML
可执行文件

<!--[1.5.70]-->
<style>
* {
margin: 0;
padding: 0;
}
[v-cloak] {
display: none;
}
.el-input-first {
width: 400px;
}
.el-input-first > input {
width: 400px;
}
</style>
<div id="add" v-cloak>
<el-form label-width="80px" :model="form" :rules="rules" ref="form" id="formSet">
<input type="hidden" id="id" value="{$id}" name="id">
<div style="display: flex;">
<el-form-item label="仓库名称" prop="name">
<el-input v-model="form.name" name="name" class="el-input-first"></el-input>
</el-form-item>
<el-form-item>
<el-checkbox v-model="form.state" label="默认仓库"></el-checkbox>
</el-form-item>
</div>
<el-form-item label="仓库编号" prop="number">
<el-input v-model="form.number" placeholder="英文开头建议填写英文加数字(如CK_2501)" name="number"
class="el-input-first"></el-input>
</el-form-item>
<el-form-item label="地址" required>
<el-select name="province" v-model="form.selProvince" size="small" placeholder="省" filterable
@change="selectProvince(1)">
<el-option
v-for="item in form.province"
:key="item.cityid"
:label="item.city_name"
:value="item.cityid">
</el-option>
</el-select>
<el-select name="city" v-model="form.selCity" size="small" placeholder="市" filterable
@change="selectProvince(2)">
<el-option
v-for="item in form.city"
:key="item.cityid"
:label="item.city_name"
:value="item.cityid">
</el-option>
</el-select>
<el-select name="area" v-model="form.selRegion" size="small" placeholder="区" filterable>
<el-option
v-for="item in form.area"
:key="item.cityid"
:label="item.city_name"
:value="item.cityid">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="详细地址" prop="address">
<el-input v-model="form.address" name="address" class="el-input-first"></el-input>
</el-form-item>
<el-form-item label="仓库面积" prop="measure_area">
<el-input v-model="form.measure_area" name="measure_area" class="el-input-first" placeholder="㎡"></el-input>
</el-form-item>
<el-form-item label="负责人" prop="person_name">
<el-input v-model="form.person_name" name="person_name" class="el-input-first"></el-input>
</el-form-item>
<el-form-item label="手机号" prop="person_phone">
<el-input v-model="form.person_phone" name="person_phone" class="el-input-first"></el-input>
</el-form-item>
<el-form-item label="备注">
<el-input type="textarea" v-model="form.remarks" name="remarks"></el-input>
</el-form-item>
<el-form-item>
<if condition="$authArr['onSubmit'] eq true">
<el-button type="primary" @click="onSubmit('form')">立即创建</el-button>
</if>
</el-form-item>
</el-form>
</div>
<script>
var add = new Vue({
el: '#add',
data: function () {
return {
form: {
name: "{$data['name']}",
number: "{$data['number']}",
address: "{$data['address']}",
measure_area: "{$data['measure_area']}",
person_name: "{$data['person_name']}",
person_phone: "{$data['person_phone']}",
remarks: "{$data['remarks']}",
selProvince: "{$data['province']}",
selCity: "{$data['city']}",
selRegion: "{$data['area']}",
province: {$prov},
city: {$city},
area: {$area},
state: "{$data['default_state']}" == 1 ? true : false,
},
rules: {
name: [{message: '请输入仓库名称', required: true, trigger: 'change'}],
number: [{message: '请输入正确的编号', required: true, trigger: 'change'}, {
validator: function (rule, value, callback) {
var reg = /^([a-zA-z_]{1})([\w]*)$/;
if (!reg.test(value)) {
callback(new Error("请输入正确的编号"));
} else {
callback();
}
}, trigger: 'change'
}],
address: [{message: '请输入仓库地址', required: true, trigger: 'change'}],
measure_area: [{message: '请输入正确的仓库面积', required: true, trigger: 'change'}, {
validator: function (rule, value, callback) {
var reg = /(^[1-9](\d+)?(\.\d{1,2})?$)|(^\d\.\d{1,2}$)/;//面积m2
if (!reg.test(value)) {
callback(new Error("请输入正确的仓库面积"));
} else {
callback();
}
}, trigger: 'change'
}],
person_name: [{message: '请输入负责人名称', required: true, trigger: 'change'}],
person_phone: [{message: '请输入正确的手机号', required: true, trigger: 'change'}, {
validator: function (rule, value, callback) {
var reg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;//手机号;
if (!reg.test(value)) {
callback(new Error("请输入正确的手机号"));
} else {
callback();
}
}, trigger: 'change'
}],
}
}
},
methods: {
selectProvince: function (type) {
var that = this;
$.post("{:U('getCity')}", {
pid: type == 1 ? this.form.selProvince : this.form.selCity
}, function (res) {
if (res.status == 1) {
if (type == 1) {
that.form.selCity = '';
that.form.selRegion = '';
that.form.city = res.data;
that.form.area = [];
} else {
that.form.area = res.data;
that.form.selRegion = '';
}
} else {
that.$message({
type: 'error',
massage: res.msg,
duration: 1000
})
}
})
},
onSubmit: function (formName) {
var that = this;
that.$refs[formName].validate((valid) => {
if (valid) {
if (!that.form.selProvince) {
that.$message({
type: "error",
message: "请完善仓库地址",
duration: 1000
})
return;
}
if (!that.form.selCity) {
that.$message({
type: "error",
message: "请完善仓库地址",
duration: 1000
})
return;
}
if (!that.form.selRegion) {
that.$message({
type: "error",
message: "请完善仓库地址",
duration: 1000
})
return;
}
var formData = new FormData(document.getElementById('formSet'));
if (that.form.state) {
that.form.default_state = 1;
} else {
that.form.default_state = 0;
}
var default_state = JSON.parse(JSON.stringify(that.form.default_state));
formData.append('default_state', JSON.stringify(default_state));
var id = $("#id").val();
$.ajax({
url: "{:U('addWarehouseOperation')}",
type: "post",
data: formData,
cache: false,
contentType: false,
processData: false,
dataType: "json",
success: function (res) {
if (res.status == 1) {
that.$message({
type: "success",
message: res.message,
duration: 1000,
onClose: function () {
warehouse.closeChild();
warehouse.getData();
}
})
} else {
that.$message({
type: "error",
message: res.message,
duration: 1000
})
}
}
})
} else {
that.$message({
type: 'error',
message: "请完善必填项",
duration: 1500
})
}
})
}
},
created: function () {
}
});
</script>